<?php
require 'BaseController.php';
class Admin_FilterController extends Admin_BaseController{
	private $_identity;
	private $_filterModel;
	private $_filterValueModel;
	public function init(){
		parent::init();
		$auth = Zend_Auth::getInstance();
		$this->_identity = $auth->getIdentity();
		$this->view->identity = $this->_identity;
		$this->_filterModel = new Model_Filter();
		$this->_filterValueModel = new Model_FilterValue();
		
	}
	public function indexAction(){
		$session = new Zend_Session_Namespace();
		$this->view->message = $session->message;
		$session->__unset('message');
		
		//lấy list fiter
		$this->view->arrFilters = $this->_filterModel->getAllFilters();
		//lấy id nếu có
		$request = $this->getRequest();
		$id = $request->getParam("id");
		if(is_numeric($id)){
			$filter = $this->_filterModel->getFilterByID($id);
		
			if($filter){
				$this->view->filter = $filter;
			}else{
				$this->view->message = "<span class='error'>Không tồn tại bộ lọc này.</span>";
			}
		}
		if($request->isPost()){
			$name = $request->getParam('name');
			if(empty($id)){
				if($this->_filterModel->createFilter($name)){
					$session->message = "<span class='success'>Thêm bộ lọc thành công.</span>";
					$this->_redirector->gotoRoute(array(),'admin_filter');
				}else{
					$session->message = "<span class='error'>Thêm bộ lọc không thành công.</span>";
				}
			}else{
				if($this->_filterModel->updateFilter($id, $name)){
					$session->message = "<span class='success'>Sửa bộ lọc thành công.</span>";
					$this->_redirector->gotoRoute(array(),'admin_filter');
				}else{
					$session->message = "<span class='error'>Sửa bộ lọc không thành công.</span>";
				}
			}
		}
	}
	public function filtervalueAction(){
		$session = new Zend_Session_Namespace();
		$this->view->message = $session->message;
		$session->__unset('message');
		
		//lấy list fiter
		$this->view->arrFilters = $this->_filterModel->getAllFilters();
		//lấy id nếu có
		$request = $this->getRequest();
		$filter_id = $request->getParam('filter_id');
		$id = $request->getParam("id");
		if(is_numeric($filter_id)){
			$filter = $this->_filterModel->getFilterByID($filter_id);
		
			if($filter){
				$this->view->filter = $filter;
				if(is_numeric($id)){
					$filterValue = $this->_filterValueModel->getFilterValueByID($id);
				
					if($filterValue){
						$this->view->filterValue = $filterValue;
					}else{
						$this->view->message = "<span class='error'>Không tồn tại giá trị lọc này.</span>";
					}
				}
			}else{
				$this->view->message = "<span class='error'>Không tồn tại bộ lọc này.</span>";
			}
		}
		
		if($request->isPost()){
			$text = $request->getParam('text');
			$filter_id = $request->getParam('filter_id');
			if(empty($id)){
				if($this->_filterValueModel->createFilterValue($text, $filter_id)){
					$session->message = "<span class='success'>Thêm giá trị lọc thành công.</span>";
					$this->_redirector->gotoRoute(array(),'admin_filter');
				}else{
					$session->message = "<span class='error'>Thêm giá trị bộ lọc không thành công.</span>";
				}
			}else{
				if($this->_filterValueModel->updateFilterValue($id, $text, $filter_id)){
					$session->message = "<span class='success'>Sửa giá trị bộ lọc thành công.</span>";
					$this->_redirector->gotoRoute(array(),'admin_filter');
				}else{
					$session->message = "<span class='error'>Sửa giá trị bộ lọc không thành công.</span>";
				}
			}
		}
	}
	public function deleteAction(){
		$session = new Zend_Session_Namespace();
		if($this->getRequest()->isPost()){
			$id = $this->getRequest()->getParam('ids');
		}else{
			$id = $this->getRequest()->getParam('id');
		}
		if($this->_filterModel->deleteFilter($id) > 0){
			$session->message = "<span class='success'>Xóa bộ lọc thành công.</span>";
			
		}else{
			$session->message = "<span class='success'>Xóa bộ lọc không thành công.</span>";
		}
		$this->_redirector->gotoRoute(array(),'admin_filter');
	}
	public function deletevalueAction(){
		$session = new Zend_Session_Namespace();
		$id = $this->getRequest()->getParam('id');
		if($this->_filterValueModel->deleteFilterValue($id) > 0){
			$session->message = "<span class='success'>Xóa giá trị lọc thành công.</span>";
			
		}else{
			$session->message = "<span class='success'>Xóa giá trị lọc không thành công.</span>";
		}
		$this->_redirector->gotoRoute(array(),'admin_filter');
	}
}